package com.web.common.iot.mqtt.api;

import javax.validation.Valid;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.web.common.api.config.ServiceInstanceName;
import com.web.common.iot.mqtt.entity.MqttAcl;
import com.web.common.iot.mqtt.entity.MqttAclEntity;
import com.web.common.result.R;

/**
 * <p>
 * mqtt授权
 * </p>
 *
 * @author zhouhui
 * @since 2024-04-25
 */
 @FeignClient(name = ServiceInstanceName.SERVICE_BASIC_NAME, contextId = "mqttAclApi", path = "/iot/mqttAcl")
 public interface MqttAclApi {
 	
 	/**
 	 * 按照条件查询数据列表
	 * @param condition 查询条件
	 *
	 * @author zhouhui
	 * @since 2024-04-25
	 */
 	@PostMapping(path = "/list")
	@ResponseBody
 	R<IPage<MqttAclEntity>> getList(@RequestBody MqttAclEntity condition);
 	
 	/**
 	 * 保存数据信息
	 * @param mqttAcl 数据信息
	 *
	 * @author zhouhui
	 * @since 2024-04-25
	 */
 	@PostMapping(path = "/save")
	@ResponseBody
 	R<Object> saveInfo(@Valid @RequestBody MqttAcl mqttAcl);
 	
 	/**
 	 * 更新数据信息
	 * @param mqttAcl 数据信息
	 *
	 * @author zhouhui
	 * @since 2024-04-25
	 */
 	@PostMapping(path = "/update")
	@ResponseBody
 	R<Object> updateInfo(@Valid @RequestBody MqttAcl mqttAcl);
 	
 	/**
 	 * 删除数据信息
	 * @param mqttAcl 数据信息
	 *
	 * @author zhouhui
	 * @since 2024-04-25
	 */
 	@PostMapping(path = "/delete")
	@ResponseBody
 	R<Object> deleteInfo(@RequestBody MqttAcl mqttAcl);
 }
 
